// 统一引入Icon图标:https://www.antdv.com/components/icon-cn
import type { App } from 'vue';
import {
  PlusOutlined, // 新增
  FormOutlined, // 表单编辑（编辑按钮）
  EditOutlined, // 编辑
  DeleteOutlined, // 删除
  ClearOutlined, // 清除
  ProfileOutlined, // 轮廓（查看详情）
  SettingOutlined, // 设置
  PrinterOutlined, // 打印
  PictureOutlined, // 图片
  QrcodeOutlined, // 二维码
  SearchOutlined, // 搜索
  ReloadOutlined, // 加载
  EllipsisOutlined, // ...
  
  DownloadOutlined, // 下载
  CloudDownloadOutlined, // 云下载（用于导出记录按钮展示）
  FileExcelOutlined, // 文件表格（用于导出文件列表展示）
  CloudUploadOutlined, // 云上传（用于批量导入按钮展示）
  FileDoneOutlined, // 文件加载完成（用于导入记录列表按钮展示）

  PlusCircleOutlined, // 新增圆
  MinusCircleOutlined, // 减号圆
  CheckOutlined, // 勾选
  CloseOutlined, // 关闭
  CheckCircleOutlined, // 圆勾（√）（用于在线、启用、开启等状态按钮展示）
  CloseCircleOutlined, // 圆叉（x）（用于离线、关闭、等状态按钮展示）
  CheckSquareOutlined, // 方勾（√）（用于选择，审核按钮展示）

  HomeOutlined, // 首页
  LinkOutlined, // 链接
  HistoryOutlined, // 历史记录
  HeartOutlined, // 爱心
  TableOutlined, // 表格
  AppstoreAddOutlined, // 新增应用（菜单）
  UnorderedListOutlined, // 无序列表
  NotificationOutlined, // 通知
  WarningOutlined, // 警告
  QuestionCircleOutlined, // 提示问号圆
  ExclamationCircleOutlined, // 提示感叹号圆
  
  FundViewOutlined, // 分析查看
  EyeOutlined, // 眼睛
  DownOutlined, // 向下
  ArrowRightOutlined, // 右侧箭头
  MoreOutlined, // 更多（三个点）
  IdcardOutlined, // 证件
  PayCircleOutlined, // 支付
  MoneyCollectOutlined, // 收款
  SyncOutlined, // 同步
  RollbackOutlined, // 回退
  CaretDownOutlined, // 三角形向下
  FileSearchOutlined, // 预览 (文件搜索)
  ArrowUpOutlined, // 箭头向上
  SafetyCertificateOutlined, // 授权
  SaveOutlined, // 保存
  MenuOutlined, // 菜单
  MenuFoldOutlined, // 菜单收起
  MenuUnfoldOutlined, // 菜单收起
  AlertOutlined, // 警报
  DiffOutlined,  // 批量生成
  FileTextOutlined, // 文件
  CloseSquareOutlined, // 关闭2
  PoweroffOutlined, // 启用按钮
  UserOutlined, // 人员
  ToolOutlined, // 扳手
  IssuesCloseOutlined, // 问题结束
  ToTopOutlined , // 向上
  SendOutlined , // 发送
  ArrowsAltOutlined , // 开
  ShrinkOutlined , // 关
  EnvironmentOutlined , // 位置
  MessageOutlined , // 消息
  NodeIndexOutlined, // 关联
  DollarOutlined, // 金额
  FileSyncOutlined, // 文件更新

} from '@ant-design/icons-vue';

export const useAntdvIcons = (app: App) => {
  app.component(PlusOutlined.displayName, PlusOutlined);
  app.component(FormOutlined.displayName, FormOutlined);
  app.component(EditOutlined.displayName, EditOutlined);
  app.component(DeleteOutlined.displayName, DeleteOutlined);
  app.component(ClearOutlined.displayName, ClearOutlined);
  app.component(ProfileOutlined.displayName, ProfileOutlined);
  app.component(SettingOutlined.displayName, SettingOutlined);
  app.component(PrinterOutlined.displayName, PrinterOutlined);
  app.component(PictureOutlined.displayName, PictureOutlined);
  app.component(QrcodeOutlined.displayName, QrcodeOutlined);
  app.component(SearchOutlined.displayName, SearchOutlined);
  app.component(ReloadOutlined.displayName, ReloadOutlined);
  app.component(EllipsisOutlined.displayName, EllipsisOutlined);

  app.component(DownloadOutlined.displayName, DownloadOutlined);
  app.component(CloudDownloadOutlined.displayName, CloudDownloadOutlined);
  app.component(FileExcelOutlined.displayName, FileExcelOutlined);
  app.component(CloudUploadOutlined.displayName, CloudUploadOutlined);
  app.component(FileDoneOutlined.displayName, FileDoneOutlined);

  app.component(PlusCircleOutlined.displayName, PlusCircleOutlined);
  app.component(MinusCircleOutlined.displayName, MinusCircleOutlined);
  app.component(CheckOutlined.displayName, CheckOutlined);
  app.component(CloseOutlined.displayName, CloseOutlined);
  app.component(CheckCircleOutlined.displayName, CheckCircleOutlined);
  app.component(CloseCircleOutlined.displayName, CloseCircleOutlined);
  app.component(CheckSquareOutlined.displayName, CheckSquareOutlined);

  app.component(HomeOutlined.displayName, HomeOutlined);
  app.component(LinkOutlined.displayName, LinkOutlined);
  app.component(HistoryOutlined.displayName, HistoryOutlined);
  app.component(HeartOutlined.displayName, HeartOutlined);
  app.component(TableOutlined.displayName, TableOutlined);
  app.component(AppstoreAddOutlined.displayName, AppstoreAddOutlined);
  app.component(UnorderedListOutlined.displayName, UnorderedListOutlined);
  app.component(NotificationOutlined.displayName, NotificationOutlined);
  app.component(WarningOutlined.displayName, WarningOutlined);
  app.component(QuestionCircleOutlined.displayName, QuestionCircleOutlined);
  app.component(ExclamationCircleOutlined.displayName, ExclamationCircleOutlined);

  app.component(FundViewOutlined.displayName, FundViewOutlined);
  app.component(EyeOutlined.displayName, EyeOutlined);
  app.component(DownOutlined.displayName, DownOutlined);
  app.component(ArrowRightOutlined.displayName, ArrowRightOutlined);
  app.component(MoreOutlined.displayName, MoreOutlined);
  app.component(IdcardOutlined.displayName, IdcardOutlined);
  app.component(PayCircleOutlined.displayName, PayCircleOutlined);
  app.component(MoneyCollectOutlined.displayName, MoneyCollectOutlined);
  app.component(SyncOutlined.displayName, SyncOutlined);
  app.component(RollbackOutlined.displayName, RollbackOutlined);
  app.component(CaretDownOutlined.displayName, CaretDownOutlined);
  app.component(FileSearchOutlined.displayName, FileSearchOutlined);
  app.component(ArrowUpOutlined.displayName, ArrowUpOutlined);
  app.component(SafetyCertificateOutlined.displayName, SafetyCertificateOutlined);
  app.component(SaveOutlined.displayName, SaveOutlined);
  app.component(MenuOutlined.displayName, MenuOutlined);
  app.component(MenuFoldOutlined.displayName, MenuFoldOutlined);
  app.component(MenuUnfoldOutlined.displayName, MenuUnfoldOutlined);
  app.component(AlertOutlined.displayName, AlertOutlined);
  app.component(DiffOutlined.displayName, DiffOutlined);
  app.component(FileTextOutlined.displayName, FileTextOutlined);
  app.component(CloseSquareOutlined.displayName, CloseSquareOutlined);
  app.component(PoweroffOutlined.displayName, PoweroffOutlined);
  app.component(UserOutlined.displayName, UserOutlined);
  app.component(ToolOutlined.displayName, ToolOutlined);
  app.component(IssuesCloseOutlined.displayName, IssuesCloseOutlined);
  app.component(ToTopOutlined.displayName, ToTopOutlined);
  app.component(SendOutlined.displayName, SendOutlined);
  app.component(ArrowsAltOutlined.displayName, ArrowsAltOutlined);
  app.component(ShrinkOutlined.displayName, ShrinkOutlined);
  app.component(EnvironmentOutlined.displayName, EnvironmentOutlined);
  app.component(MessageOutlined.displayName, MessageOutlined);
  app.component(NodeIndexOutlined.displayName, NodeIndexOutlined);
  app.component(DollarOutlined.displayName, DollarOutlined);
  app.component(FileSyncOutlined.displayName, FileSyncOutlined);
};
